跳到主要内容

NC61 两数之和

https://www.nowcoder.com/practice/20ef0972485e41019e39543e8e895b7f

这题很巧妙的利用了 value 为 key,从而判断是否存在另一个 key

package main

/**
*
* @param numbers int整型一维数组
* @param target int整型
* @return int整型一维数组
*/
func twoSum( numbers []int , target int ) []int {
m := make(map[int]int)
for i, v := range numbers {
if _, ok := m[target - v]; ok {
// 因为题目要求输出的下标是以 1 开头的
return []int {m[target - v] + 1, i + 1}
}
m[v] = i
}

return []int{}
}